﻿
using System.Windows;
using Wpf2.ViewModels;

namespace Wpf2.Models
{
    public class Customer : PropertyChangedBase
    {
        private int _idCus;
        private string _phone;
        private string _cusName;
        private string _address;
        private bool _isHaveToCheck;
        private bool _isUpdating;

        public bool IsUpdating
        {
            get { return _isUpdating; }
            set { _isUpdating = value; }
        }

        public bool IsHaveToCheck
        {
            get { return _isHaveToCheck; }
            set { _isHaveToCheck = value; }
        }

        public string Address
        {
            get { return _address; }
            set { _address = value; OnPropertyChanged("Address"); }
        }

        public int IdCus
        {
            get { return _idCus; }
            set { _idCus = value; OnPropertyChanged("IdCus"); }
        }
        

        public string CusName
        {
            get { return _cusName; }
            set 
            {
                if (IsHaveToCheck)
                {
                    var cus = WPFServices.Services.CustomersService.GetCustomerByName(value);
                    if (cus != null)
                    {
                        if (MessageBox.Show("Lấy thông tin khách hàng này.", "Khách hàng đã tồn tại!", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            _cusName = cus.NAME_CUS;
                            IdCus = cus.ID_CUS;
                            Phone = cus.PHONES;
                            Address = cus.ADDRESS;
                        }
                        else
                        {
                            _cusName = string.Empty;
                            IdCus = 0;
                            Phone = string.Empty;
                            Address = string.Empty;
                        }
                    }
                    else
                    {
                        _cusName = value;
                        IdCus = 0;
                    }
                }
                else
                {
                    _cusName = value;
                    //IdCus = 0; xử lý để lúc cập nhật khách hàng không đụng đến
                    OnPropertyChanged("CusName");
                }
                
            }
        }

        public string Phone
        {
            get { return _phone; }
            set { _phone = value; OnPropertyChanged("Phone"); }
        }

       
    }
}
